"""8.5 类的多态
类的多态定义：
1）类的多态指的是不同的类的对象调用相同的方法，得到不同的结果
2）类的多态是通过继承和重写实现的
3）类的多态是一种动态的行为，不是静态的行为
4）类的多态是一种面向对象的编程思想，不是一种语言特性
"""
from chapter8 import Person9


class Animal:

    def __init__(self,name):
        self.name=name

    def speak(self):
        print(f"{self.name}===>动物的叫声")

class Dog(Animal):
    def speak(self):
        print(f"{self.name}===>汪汪汪")

class Cat(Animal):
    def speak(self):
        print(f"{self.name}===>喵喵喵")

class Duck(Animal):
    def speak(self):
        print(f"{self.name}===>嘎嘎嘎")
#定义一个函数，参数是Animal类型，函数内部调用speak()方法
#调用实现多态
animals=[Dog("狗"),Cat("猫"),Duck("鸭子")]
for animal in animals:
    animal.speak()

p9=Person9("张三",25)
print(p9.get_age())
